﻿using Dora.Tools.Enums.AdminUser;
using Surging.Core.Common;
using System.Runtime.Serialization;

namespace Dora.Services.AdminUser.Dto.QueryDto
{
    [DataContract]
    public class OrganizationQueryDto : PageInfo
    {
        /// <summary>
        /// 组织机构名称
        /// </summary>
        [DataMember]
        public string Keywords { get; set; }

        /// <summary>
        /// 所属组织机构Id
        /// </summary>
        [DataMember]
        public int? ParentOrgId { get; set; }

        [DataMember]
        public string Leader { get; set; }
        [DataMember]
        public string Mobile { get; set; }
        [DataMember]
        public short Status { get; set; }
        /// <summary>
        /// 层级 查门店 还是分社
        /// </summary>
        [DataMember]
        public short OrgLevel { get; set; } = -1;

        /// <summary>
        /// OrgLevel传Store时，是否要包含直属门店
        /// </summary>
        [DataMember]
        public bool? IsStoreContainDirectlyUnder { get; set; }

        /// <summary>
        /// true时是直属机构，包含直属部门和直属门店
        /// false时加盟门店和下级机构的直属部门和直属门店
        /// </summary>
        [DataMember]
        public bool? IsDirectly { get; set; }
        /// <summary>
        /// 直属时的ParentOrgId
        /// </summary>
        [DataMember]
        public int? DirectlyParentOrgId { get; set; }

        [DataMember]
        public string ParentOrgName { get; set; }

        [DataMember]
        public StoreAuditState? AuditState { get; set; }

        [DataMember]
        public int ProvinceId { get; set; } = -1;

        [DataMember]
        public int CityId { get; set; } = -1;

        [DataMember]
        public int DistrictId { get; set; } = -1;

        [DataMember]
        public int OrgId { get; set; }

        [DataMember]
        public string LevelPath { get; set; }
        /// <summary>
        /// 用户名称
        /// </summary>
        [DataMember]
        public string UserName { get; set; }

    }
}
